var _columns = [{checkbox: true},
    {field: 'id', title: '标示符'},
    {title: '序号', field: 'showId',
		formatter:function(value,row,index){
			return index+1;
	}},
    {field: 'csName', title: '中文名称'},
    {field: 'enName', title: '英文名称'},
    {field: 'defination', title: '定义'},
    {field: 'dataType', title: '数据类型'},
    {field: 'unti', title: '单位'},
]


function isEnglish(s)
{
	var re = new RegExp("^[a-zA-Z]+$"); 
	if (re.test(s)) 
	  return true;
	return false;
}

var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#data_table').bootstrapTable({
            url: '/meta_water/select',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            clickToSelect: true,                //是否启用点击选中行
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            columns: _columns,
            onLoadSuccess:function(data){
                //通过对dataType判断
                if("dataType" in data["rows"]["0"]){
                    var result = data["rows"];
                    $.each(result,function(index,content){
                    	if(content.dataType.charAt(0) == 'V')
                    		content.dataType="字符型";
                    	else if(content.dataType.charAt(0) == 'I')
                    		content.dataType="整数型";
                    	else
                    		content.dataType="小数型";
                    })
                    $('#data_table').bootstrapTable("load",data)
                }
            },
            
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();

    oInit.Init = function () {
        //初始化页面上面的按钮事件
        //新增按钮
        $("#btn_add").click(function () {
            $('#new_data').modal();                             
        	$('#newCsName').val("");
        	$('#newEnName').val("");
        	$('#newDefination').val("");
        	$('#newUnti').val("");
            $('#new_data').modal();
        });

        // 删除按钮
        $("#btn_delete").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }

            values=[];
            for(var i=0;i<arrselections.length;i++)
                values.push(arrselections[i].enName);
            
            bootbox.confirm({
                message: "确认要删除选择的数据吗？",
                locale: 'zh_CN',
                title: '操作提示',
                callback: function (result) {
                    if (result) {
                        $.ajax({
                            type: "post",
                            url: "/meta_water/delete",
                            data: JSON.stringify(values),
                            contentType: "application/json",
                            success: function (data) {
                                if (data['status'] == "success") {
                                    bootoast({
                                        message: '删除成功',
                                        position: 'top',
                                        type: 'success',
                                        timeout: 1.5,
                                    });
                                    $("#data_table").bootstrapTable('refresh');
                                } else {
                                    bootoast({
                                        message: '删除失败\n' + data['msg'],
                                        position: 'top',
                                        type: 'danger',
                                        timeout: 1.5,
                                    });
                                }
                            }
                        });
                    }
                }
            })

        });


        //新增框内的提交
        $('#new_data_submit').on('click', function () {
            var csName = $('#newCsName').val()
            var enName = $('#newEnName').val()
            var Defination = $('#newDefination').val()
            var dataType = $('#newDataType').val()
            var unti = $('#newUnti').val()
            if (csName == ""){
				bootoast({
                    message: '请输入正确的中文名称',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
           if (enName == ""||isEnglish(enName) == false ){
				bootoast({
                    message: '请输入正确的全英文名称',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
            

           
            if (Defination == ""){
				bootoast({
                    message: '请输入定义',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
            if (unti == ""){
				bootoast({
                    message: '请输入单位',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
            
           
            
            $.ajax({
                type: "get",
                url: "/meta_water/insert",
                data: {
                    'csName': csName,
                    'enName': enName,
                    'Defination': Defination,
                    'dataType': dataType,
                    'unti': unti
                },
                success: function (data) {
                    if (data['status'] == "success") {
                        bootoast({
                            message: '插入成功',
                            position: 'top',
                            type: 'success',
                            timeout: 2,
                        });
                        $("#new_data").modal('hide');
                        $('#newCsName').val("");
                        $('#newEnName').val("");
                        $('#newDefination').val("");
                        $('#newUnti').val("");
                        $("#data_table").bootstrapTable('refresh');
                    } /*else {
                        bootoast({
                            message: '插入失败\n' + data['msg'],
                            position: 'top',
                            type: 'danger',
                            timeout: 2,
                        });
                    }*/
                },
/*                error: function () {
                    bootoast({
                        message: '通讯异常',
                        position: 'top',
                        type: 'danger',
                        timeout: 1.5,
                    });
                }*/
            });
        })

    };

    return oInit;
};

$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();

    $('#data_table').bootstrapTable('hideColumn', 'id');
});


